package com.ylyq.ylxx.model.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * @ClassName UpdateCreativeRequest
 * @Description TODO
 * @Author xiaweichao
 * @Date 2020/7/1 18:25
 * @Version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "修改广告创意的请求参数")
public class UpdateCreativeRequest {
    @ApiModelProperty(value = "广告主ID")
    @NotNull(message = "广告主ID不能为空")
    private Long advertiser_id;
    @ApiModelProperty(value = "计划ID")
    @NotNull(message = "计划ID不能为空")
    private String ad_id;
    @ApiModelProperty(value = "时间戳,从creative/read_v2/接口得到,用于判断是否基于最新信息修改(以免报错)！")
    @NotNull(message = "时间戳不能为空")
    private String modify_time;
    @ApiModelProperty(value = "创意投放位置,详见【附录-投放位置】，请注意广告位中的头图信息流（INVENTORY_FEED）与头条详情页（INVENTORY_TEXT_LINK）已合并为头条系（依然使用INVENTORY_FEED字段，名称更改为头条系）")
    @NotNull(message = "创意投放位置不能为空")
    private String[] inventory_type;
    @ApiModelProperty(value = "是否使用优选广告位，0表示不使用优选，1表示使用，使用优选广告位的时候默认忽略inventory_type字段。\n" +
            "默认值: 0\n" +
            "允许值: 0, 1")
    private Integer smart_inventory;
    @ApiModelProperty(value = "场景广告位，详见【附录-场景广告位】，使用场景广告位时默认忽略inventory_type字段，与scene_inventory不能同时传\n" +
            "允许值: \"VIDEO_SCENE\", \"FEED_SCENE\", \"TAIL_SCENE\"")
    private String scene_inventory;
    @ApiModelProperty(value = "创意标签(最多20个标签,且每个标签长度不超过10个字符)")
    @NotNull(message = "创意标签不能为空")
    private String[] ad_keywords;
    @ApiModelProperty(value = "创意分类-三级行业，填写三级行业ID，可从 tools/industry/get/ 接口获取")
    @NotNull(message = "创意分类不能为空")
    private Long third_industry_id;
    @ApiModelProperty(value = "文章来源,推广目的非应用下载或者 当推广目的为应用下载且download_type为\"EXTERNAL_URL时\"时必填")
    private String source;
    @ApiModelProperty(value = "创意自定义参数，例如开发者可设定此参数为创意打标签用于区分使用的素材类型，选填")
    private String third_party_id;
    @ApiModelProperty(value = "创意展现方式,详见【附录-创意展现方式】\n" +
            "允许值:\"CREATIVE_DISPLAY_MODE_CTR\", \"CREATIVE_DISPLAY_MODE_RANDOM\"")
    private String creative_display_mode;
    @ApiModelProperty(value = "展示监测链接（传参数时检查是否有空格等以免报错！）")
    private String track_url;
    @ApiModelProperty(value = "点击监测链接（当推广目的为应用下载且创建计划传递了convert_id，系统会自动获取转化中的点击监测链接，且不可修改）（传参数时检查是否有空格等以免报错！）")
    private String action_track_url;
    @ApiModelProperty(value = "视频有效播放监测链接（传参数时检查是否有空格等以免报错！）")
    private String video_play_effective_track_url;
    @ApiModelProperty(value = "视频播放完毕监测链接（传参数时检查是否有空格等以免报错！）")
    private String video_play_done_track_url;
    @ApiModelProperty(value = "视频播放监测链接（传参数时检查是否有空格等以免报错！）")
    private String video_play_track_url;
    @ApiModelProperty(value = "是否关闭评论，0为开启，1为关闭，默认值：0；\n" +
            "允许值: 0, 1")
    private Integer is_comment_disable;
    @ApiModelProperty(value = "是否关闭视频详情页落地页(勾选该选项后,视频详情页中不默认弹出落地页,仅对视频广告生效)\n" +
            "允许值: 0, 1")
    private Integer close_video_detail;
    @ApiModelProperty(value = "是否开启衍生计划，1为开启，0为不开启\n" +
            "默认值: 0")
    private Long generate_derived_ad;
    @ApiModelProperty(value = "试玩素材url，可通过“查询试玩素材列表”进行获取。 只有穿山甲激励视频可以使用试玩素材，同时素材需要审核通过")
    private String playable_url;
    @ApiModelProperty(value = "\t自动生成视频素材，允许值：0（不启用），1（启用），默认：不启用")
    private Long is_presented_video;
    @ApiModelProperty(value = "是否开启自动派生创意,默认值: 1\n" +
            "允许值: 0(不启用), 1(启用)")
    private Long creative_auto_generate_switch;
    @ApiModelProperty(value = "\t点击监测链接上报方式，不可修改,默认值: SERVER_SEND\n" +
            "允许值: SERVER_SEND(服务器端上传), CLIENT_SEND(客户端上传), 客户端上传是指由客户端直接上报给监测平台的服务器, 只有白名单用户才可使用CLIENT_SEND(客户端上传), 如果需要开通请找对接的销售、运营")
    private String track_url_send_type;
}
